package com.xinan.weixin.msg;

import com.jfinal.aop.Before;
import com.jfinal.core.BaseController;
import com.jfinal.core.Const;
import com.jfinal.core.Controller;
import com.jfinal.ext.interceptor.SearchSql;
import com.jfinal.kit.JsonKit;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
import com.xinan.utils.Constants;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * User: xiaojing
 * Date: 14-10-25
 * Time: 上午10:20
 * To change this template use File | Settings | File Templates.
 */
public class MsgTypeController  extends BaseController {
    public void  index(){
        render("/WEB-INF/views/weixin/msgtype/index.html");
    }
    //  新增
    public void  newModes(){
        String   id=getPara("id");
        List<Record> newlist =  Msgtype.dao.findAlls(  "      id=  '" + id + "'") ;
        setAttr("newlist",newlist);
        render("/WEB-INF/views/weixin/msgtype/form.html");
    }
    /**
     * 在增加了SearchSql拦截之后，就可以根据页面的配置信息
     * 自动装配查询语句，并放入request中，可以通过getAttr(Const.SEARCH_SQL)函数获取到
     * 根据实际需要自动组装到sql语句中
     */
    /**
     * 在增加了SearchSql拦截之后，就可以根据页面的配置信息
     * 自动装配查询语句，并放入request中，可以通过getAttr(Const.SEARCH_SQL)函数获取到
     * 根据实际需要自动组装到sql语句中
     */
    @Before(SearchSql.class)
    public void query() {
        int pageNumber = getParaToInt("page");
        int pageSize = getParaToInt("rows");
        String where = getAttr(Const.SEARCH_SQL);
        Page<Msgtype> page = Msgtype.dao.page(pageNumber, pageSize, where);
        Map root = new HashMap();
		// / jqgrid用 分页显示
		root.put("total", page.getTotalPage());
		root.put("page", page.getPageNumber());
		root.put("records", page.getTotalRow());
		root.put("rows", page.getList());
		renderJson(JsonKit.toJson(root));
    }
    /**
     * 新增数据
     */
    public void save() {
        if(getModel(Msgtype.class).save()){
        	renderText(Constants.SAVESUCCESS);
        }else{
        	renderText(Constants.SAVEFAILED);
        }
    }

    /**
     * 修改数据
     */
    public void update() {
        if(getModel(Msgtype.class).update()){
        	renderText(Constants.EDITSUCCESS);
        }else{
        	renderText(Constants.EDITFAILED);
        }
    }
    /**
     * 删除数据
     */
    public void delete() {
        if(Msgtype.dao.deleteById(getPara("id"))){
        	renderText(Constants.DELETESUCCESS);
        }else{
        	renderText(Constants.DELETEFAILED);
        }
    }
}
